Scanner device and method executed in scanner device

ABSTRACT

A scanner device and a method executed in the scanner device are provided. The scanner device includes a generating unit that generates original image data representing a scanned original; a preparing unit that prepares one color-conversion profile among a plurality of color-conversion profiles having different data sizes, according to a feature of the original image data; and an outputting unit that outputs the original image data and the one color-conversion profile.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority from Japanese Patent Application No.2010-157198, filed on Jul. 9, 2010, the entire subject matter of whichis incorporated herein by reference.

TECHNICAL FIELD

Aspects of the present invention relate to a scanner device that outputsoriginal image data representing a scanned original and acolor-conversion profile to the outside and a method executed in thescanner device.

In a related art, a scanner device attaches a profile compliant with theinternational color consortium (ICC) to image data representing ascanned original. In this technique, the scanner device selects oneprofile from a plurality of profiles stored in the scanner device inadvance according to a kind of the original specified on the basis ofbase data of the original (printing paper, art paper, or the like), andattaches the selected profile to the image data. A device using theimage data can utilize the profile attached to the image data to performcolor conversion (for example, color conversion from RGB to XYZ) on theimage data.

In the above-described technique, it is not specifically disclosed howthe plurality of profiles differ.

SUMMARY

Accordingly, it is an aspect of the present invention to provide atechnique capable of outputting an appropriate color-conversion profile.

According to an illustrative embodiment of the present invention, thereis provided a scanner device including a generating unit, a preparingunit and an outputting unit. The generating unit generates originalimage data representing a scanned original. The preparing unit preparesone color-conversion profile among a plurality of color-conversionprofiles having different data sizes, according to a feature of theoriginal image data. The outputting unit outputs the original image dataand the one color-conversion profile.

A control method, a computer program, and a computer-readable storagemedium for storing the computer program for implementing the functionsof the scanner device are also new and useful.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other aspects of the present invention will become moreapparent and more readily appreciated from the following description ofillustrative embodiments of the present invention taken in conjunctionwith the attached drawings, in which:

FIG. 1 shows a configuration of a communication system;

FIGS. 2A to 2D schematically show ICC profiles;

FIG. 3 shows a flow chart of a scanning process; and

FIG. 4 shows a flow chart of an ICC profile preparing process.

DETAILED DESCRIPTION

(First Illustrative Embodiment)

(Configuration of System)

A first illustrative embodiment will be described with reference to theaccompanying drawings. As shown in FIG. 1, a communication system 2includes a personal computer (PC) 80, and multifunction devices 10 and90 which are peripheral devices of the PC 80. The PC 80 and themultifunction devices 10 and 90 are capable of communicating with oneanother through a network cable 4.

(Configuration of Multifunction Device 10)

A configuration of the multifunction device 10 will be described. Themultifunction device 90 has the same configuration as the multifunctiondevice 10. The multifunction device 10 is configured to perform aplurality of functions including a printing function and a scanningfunction. The multifunction device 10 includes an operation unit 12, adisplay unit 14, a USB interface 16, a network interface 18, a controlunit 20, a printing unit 60, and a scanning unit 70. Each of the units12 to 20, 60, and 70 is connected to a bus line 11. The operation unit12 includes a plurality of keys. A user can input various instructionsto the multifunction device 10 by operating the operation unit 12. Thedisplay unit 14 is configured to display various kinds of information.In the USB interface 16, an USB memory 8 which is an external memoryportable by the user is installed. The network interface 18 is connectedwith the network cable 4.

The control unit 20 includes a CPU 22, a ROM 24, and a RAM 26. The CPU22 performs various processes according to a program (not shown) storedin the ROM 24. The CPU 22 performs processes according to the program soas to realize the functions of a generating unit 40, a preparing unit42, an outputting unit 44, and a determining unit 46. The ROM 24 storesa high-quality ICC profile 30. The high-quality ICC profile 30 is storedin the ROM 24 in advance by a vendor of the multifunction device 10.

The high-quality ICC profile 30 is a so-called input-side ICC profile.The high-quality ICC profile 30 is a profile for converting image datawhich is represented by device-dependent colors depending on thecharacteristics (particularly, color characteristics) of themultifunction device 10, into intermediate image data which isrepresented by device-independent colors independent from thecharacteristics of the device. Specifically, the high-quality ICCprofile 30 is an ICC profile in which a plurality of sets of coordinatevalues in an RGB color space are associated with a plurality of sets ofcoordinate values in an XYZ color space. Hereinafter, image data inwhich a value of each pixel is represented by coordinate values in theRGB color space is referred to as RGB image data, and image data inwhich a value of each pixel is represented by coordinate values in theXYZ color space is referred to as XYZ image data.

For example, if an ICC profile in which 256³ sets of coordinate valuesin the RGB color space are respectively associated with 256³ sets ofcoordinate values in the XYZ color space is used, it is possible toaccurately convert RGB image data with a 256 tone level to XYZ imagedata. However, such an ICC profile has a massive data size. In the firstillustrative embodiment, in order to reduce the data size of the ICCprofile, a profile in which 21³ sets of coordinate values in the RGBcolor space (hereinafter, referred to as 21³ sets of RGB coordinatevalues) are associated with 21³ sets of coordinate values in the XYZcolor space (hereinafter, referred to as 21³ sets of XYZ coordinatevalues) is used as the high-quality ICC profile 30. FIG. 2Aschematically shows the 21³ sets of RGB coordinate values (that is, 21³lattice points (grids)) included in the high-quality ICC profile 30. TheXYZ coordinate values are respectively assigned to each lattice point.

For example, if a value of a first pixel included in the RGB image datais represented by first RGB coordinate values (R1, G1, B1), and the 21³sets of RGB coordinate values of the high-quality ICC profile 30includes the exact first RGB coordinate values (R1, G1, B1), a certaindevice (for example, the PC 80) using the RGB image data can convert thefirst RGB coordinate values (R1, G1, B1) into first XYZ coordinatevalues (X1, Y1, Z1). Also, for example, even if a value of a secondpixel included in the RGB image data is represented by second RGBcoordinate values (R2, G2, B2), and the 21³ sets of RGB coordinatevalues of the high-quality ICC profile 30 does not includes the exactsecond RGB coordinate values (R2, G2, B2), the certain device canconvert the second RGB coordinate values (R2, G2, B2) into second XYZcoordinate values (X2, Y2, Z2) by using the high-quality ICC profile 30.For example, the certain device performs an interpolation process on thebasis of the relationship between one or more sets of RGB coordinatevalues (Rn, Gn, Bn) (for example, one or more sets of RGB coordinatevalues in the vicinity of the second RGB coordinate values (R2, G2, B2))of the 21³ sets of RGB coordinate values and one or more sets of XYZcoordinate values (Xn, Yn, Zn) associated with the one or more sets ofRGB coordinate values (Rn, Gn, Bn) so as to convert the second RGBcoordinate values (R2, G2, B2) into the second XYZ coordinate values(X2, Y2, Z2).

FIGS. 2B and 2C respectively show a low-quality ICC profile 32 and amonochrome ICC profile 34 to be described below. It is noted that in theROM 24, only the high-quality ICC profile 30 is stored, and thelow-quality ICC profile 32 and the monochrome ICC profile 34 are notstored. Although will be described below, the preparing unit 42generates each of the profiles 32 and 34 by using the high-quality ICCprofile 30 so as to prepare each of the profiles 32 and 34. A monochromeICC profile 36 shown in FIG. 2D is used in a second illustrativeembodiment to be described below.

The printing unit 60 has a printing mechanism of an inkjet type, a lasertype, or the like. For example, if receiving print data transmitted fromthe PC 80 by the network interface 18, the printing unit 60 performs aprinting process according the received print data. The scanning unit 70includes a transparent platen, an automatic document feeder (ADF), and ascanning mechanism. The scanning mechanism includes an image sensor suchas a CCD, a CIS, or the like. The scanning unit 70 scans an original (ascan subject) to generate scan data. The scan data is bitmap data of a256 tone level of RGB.

Although described below in the detail, the generating unit 40 generatesJPEG-formatted data (hereinafter, referred to as JPEG data) by using thescan data generated by the scanning unit 70. The JPEG data includesvarious kinds of information such as a JPEG header, a JPEG footer, andthe like, and JPEG image data acquired from the scan data. The JPEGimage data is also image data of a 256 tone level of RGB. However, theJPEG image data is included in the JPEG data in a compressed state.

(Processes Performed by Multifunction Device 10)

The contents of processes performed by the multifunction device 10 willbe described with reference to FIGS. 3 and 4. If the user performspredetermined operation, the control unit 20 performs a scanning processshown in FIG. 3. The predetermined operation includes installing the USBmemory 8 in the USB interface 16, mounting an original on thetransparent platen or the automatic document feeder, and inputtinginstructions of scan conditions to the operation unit 12.

The scan conditions include a scan resolution (which is one of 100 dpi,200 dpi, 300 dpi, and 600 dpi), an image color mode (which is one of acolor mode, a monochrome mode, and an automatic mode), and a file size(which is one of a large size and a small size). If a user wants togenerate JPEG image data representing a color image, the user selectsthe color mode as the image color mode, and if a user wants to generateJPEG image data representing a monochrome image, the user selects themonochrome mode as the image color mode. Further, if a user wants toautomatically generate JPEG image data representing a color ormonochrome image according to an original, the user selects theautomatic mode as the image color mode. Furthermore, if a user wants acompression rate of JPEG image data to be low, the user selects thelarge size as the file size, and if a user wants the compression rate ofthe JPEG image to be high, the user selects the small size as the filesize.

In step S10, the determining unit 46 (see FIG. 1) acquires the scanconditions (that is, the scan resolution, the image color mode, and thefile size) instructed by the user. Next, in step S12, the control unit20 instructs the scanning unit 70 to perform scanning according to thescan resolution acquired in step S10. As a result, the scanning unit 70scans an original, and generates scan data. In step S12, the scanningunit 70 performs color scanning using image sensors of three colors ofRGB, regardless of the image color mode selected by the user (forexample, even when the monochrome mode is selected).

Subsequently, in step S14, the determining unit 46 determines whetherthe image color mode acquired in step S10 is the automatic mode or not.If the image color mode acquired in step S10 is the automatic mode, inthe step 14, the determination result of the determining unit 46 is Yes,and then, the scanning process proceeds to step S16. Meanwhile, if theimage color mode acquired in step S10 is the color mode or themonochrome mode, in step S14, the determination result of thedetermining unit 46 is No, and then, the scanning process proceeds tostep S20. In step S20, the determining unit 46 determines whether theimage color mode acquired in step S10 is the monochrome mode or not. Ifthe image color mode acquired in step S10 is the monochrome mode, instep S20, the determination result of the determining unit 46 is Yes,and then, the scanning process proceeds to step S22. Meanwhile, if theimage color mode acquired in step S10 is the color mode, in step S20,the determination result of the determining unit 46 is No, and then, thescanning process proceeds to step S24.

In step S16, the determining unit 46 analyzes the scan data generated instep S12 to determine whether an image represented by the scan data is acolor image or a monochrome image. Specifically, the determining unit 46first specifies RGB values of one pixel of a plurality of pixelsconstituting the scan data. Next, the determining unit 46 determineswhether a difference between a maximum value and a minimum value of thespecified RGB values is smaller than a predetermined value or not. If itis determined that the difference is smaller than the predeterminedvalue, the determining unit 46 further performs the same determinationon another pixel of the plurality of pixels constituting the scan data.If it is determined on all of the plurality of pixels constituting thescan data that the difference is smaller than the predetermined value,the determining unit 46 determines that the image represented by thescan data is a monochrome image. Meanwhile, if it is determined on atleast one pixel that the difference is not smaller than thepredetermined value, the determining unit 46 determines that the imagerepresented by the scan data is a color image. After step S16, thescanning process proceeds to step S18.

In step S18, the determining unit 46 determines whether the analysisresult in step S16 is the monochrome image or not. If the analysisresult in step S16 is a monochrome image, in step S18, the determinationresult of the determining unit 46 is Yes, and then, the scanning processproceeds to step S22. Meanwhile, if the analysis result in step S16 is acolor image, in step S18, the determination result of the determiningunit 46 is No, and then, the scanning process proceeds to step S24.

In step S22, the generating unit 40 (see FIG. 1) performs a monochromecorrection process on the scan data. Specifically, the generating unit40 first specifies one pixel (hereinafter, referred to as a subjectpixel) of the plurality of pixels constituting the scan data. Next, thegenerating unit 40 corrects the RGB values of the subject pixel suchthat each of the corrected RGB values of the subject pixel is equal toan average value of the uncorrected RGB values of the subject pixel.Therefore, the corrected RGB values of the subject pixel become the samevalue. The generating unit 40 performs the same correction on each ofall the other pixels constituting the scan data as subject pixels. As aresult, corrected scan data in which the RGB values of each pixel arethe same value is acquired. After S22, the scanning process proceeds tostep S24.

In step S24, the generating unit 40 generates JPEG data by using thescan data. Specifically, if step S22 is performed, in step S24, thegenerating unit 40 generates the JPEG data by using the corrected scandata generated in step S22, and if step S22 is not performed, in stepS24, the generating unit 40 generates the JPEG data by using the scandata generated in step S12. Since a method of generating the JPEG datais known, a description thereof is omitted. Nevertheless, in step S24,the generating unit 40 generates JPEG-formatted image data (JPEG imagedata) from the scan data, and compresses the JPEG image data. Whencompressing the JPEG image data, the generating unit 40 uses acompression rate according to the file size acquired in step S10. Thatis, if the file size acquired in step S10 is the small size, thegenerating unit 40 uses a relatively high compression rate to compressthe JPEG image data. If the file size acquired in step S10 is the largesize, the generating unit 40 uses a relatively low compression rate tocompress the JPEG image data. As the compression rate is reduced, inother words, as the degree of compression is reduced, the data size ofcompressed JPEG image data increases. Further, as the compression rateis reduced, it is possible to reproduce the uncompressed JPEG image datafrom the compressed JPEG image data with a higher degree of accuracy.After step S24, the scanning process proceeds to an ICC-profilepreparing process of step S26.

(ICC-Profile Preparing Process)

As shown in FIG. 4, in step S40, the determining unit 46 determineswhether the JPEG image data included in the JPEG data generated in stepS24 of FIG. 3 represents a monochrome image or not. In other words, ifthe determination result in step S20 of FIG. 3 is Yes (the image colormode acquired in step S10 is the monochrome mode), or if thedetermination result in step S18 of FIG. 3 is Yes (the analysis resultin step S16 is a monochrome image), in step S40, the determinationresult of the determining unit 46 is Yes. Meanwhile, if thedetermination result in step S20 of FIG. 3 is No (the image color modeacquired in step S10 is the color mode), or if the determination resultin step S18 of FIG. 3 is No (the analysis result in step S16 is a colorimage), in step S40, the determination result of the determining unit 46is No.

In a case of Yes in step S40 (a case where the JPEG image datarepresents a monochrome image), in step S42, the preparing unit 42 (seeFIG. 1) prepares the monochrome ICC profile 34 (see FIG. 2C).Specifically, the preparing unit 42 first reads the high-quality ICCprofile 30 stored in the ROM 24 to the RAM 26. As described above, theRGB values of each pixel of the JPEG image data representing themonochrome image are the same value. Therefore, if using an ICC profileincluding RGB coordinate values in which the RGB values are the samevalue, it is possible to appropriately convert the JPEG image datarepresenting the monochrome image into XYZ image data. As describedabove, in the high-quality ICC profile 30, the 21³ sets of RGBcoordinate values are associated with the 21³ sets of XYZ coordinatevalues. The preparing unit 42 specifies 21 sets of RGB coordinate valueswhere the RGB values are the same value, from the 21³ sets of RGBcoordinate values included in the high-quality ICC profile 30 read inthe RAM 26. Therefore, the preparing unit 42 also specifies 21 sets ofXYZ coordinate values associated with the 21 sets of RGB coordinatevalues. In other words, the preparing unit 42 specifies the 21 sets ofRGB coordinate values and the 21 sets of XYZ coordinate values byremoving out the other RGB coordinate values and the other XYZcoordinate values from the high-quality ICC profile 30. The preparingunit 42 generates the monochrome ICC profile 34 in which the 21 sets ofRGB coordinate values are associated with the 21 sets of XYZ coordinatevalues so as to prepare the monochrome ICC profile 34.

FIG. 2C schematically shows 21 sets of RGB coordinate values (that is,21 lattice points (grids)) included in the monochrome ICC profile 34.The number of sets of RGB coordinate values and XYZ coordinate values(each of which is 21) included in the monochrome ICC profile 34 isconsiderably less than the number of sets of RGB coordinate values andXYZ coordinate values (each of which is 21³) included in thehigh-quality ICC profile 30. Therefore, the data size of the monochromeICC profile 34 is considerably smaller than the data size of thehigh-quality ICC profile 30. After step S42, the ICC-profile preparingprocess ends.

In a case of No in step S40 (a case where the JPEG image data representsa color image), in step S44, the determining unit 46 determines whetherthe resolution of the JPEG image data included in the JPEG datagenerated in step S24 of FIG. 3 is high or not. Specifically, if thescan resolution acquired in step S10 of FIG. 3 is 600 dpi, in step S44,the determination result of the determining unit 46 is Yes. Meanwhile,if the scan resolution acquired in step S10 of FIG. 3 is a value (forexample, 100 dpi, etc) other than 600 dpi, in step S44, thedetermination result of the determining unit 46 is No.

In a case of Yes in step S44 (a case where the scan resolution is 600dpi), in step S46, the determining unit 46 determines whether the datasize of the JPEG data generated in step S24 of FIG. 3 is large or not.Specifically, if the file size acquired in step S10 of FIG. 3 is thelarge size (that is, the compression rate of the JPEG image data islow), in step S46, the determination result of the determining unit 46is Yes. Meanwhile, if the file size acquired in step S10 of FIG. 3 isthe small size (that is, the compression rate of the JPEG image data ishigh), in step S46, the determination result of the determining unit 46is No.

In a case of Yes in step S46 (a case where the file size is the largesize), in step S48, the preparing unit 42 prepares the high-quality ICCprofile 30 (see FIG. 2A). Specifically, the preparing unit 42 reads thehigh-quality ICC profile 30 stored in the ROM 24 to the RAM 26 so as toprepare the high-quality ICC profile 30. After step S48, the ICC-profilepreparing process ends.

In a case of No in step S44 (a case where the scan resolution is 100dpi, 200 dpi, or 300 dpi), or in a case of No in step S46 (a case wherethe file size is the small size), in step S50, the preparing unit 42prepares the low-quality ICC profile 32 (see FIG. 2B). Specifically, thepreparing unit 42 first reads the high-quality ICC profile 30 stored inthe ROM 24 to the RAM 26. Next, the preparing unit 42 specifies 17³ setsof RGB coordinate values, from the 21³ sets of RGB coordinate valuesincluded in the high-quality ICC profile 30 read to the RAM 26, andfurther specifies 17³ sets of XYZ coordinate values associated with the17³ sets of RGB coordinate values, from the 21³ sets of XYZ coordinatevalues. In other words, the preparing unit 42 specifies the 17³ sets ofRGB coordinate values and the 17³ sets of XYZ coordinate values byremoving out the other RGB coordinate values and XYZ coordinate valuesfrom the high-quality ICC profile 30. In a modified example, thepreparing unit 42 may specify the 17³ sets of RGB coordinate values andthe 17³ sets of XYZ coordinate values by performing interpolation on thebasis of the relationship between the RGB coordinate values and the XYZcoordinate values in the high-quality ICC profile 30. That is, the 17³sets of RGB coordinate values and the 17³ sets of XYZ coordinate valuesmay include RGB coordinate values and XYZ coordinate values which arenot included in the 21³ sets of RGB coordinate values and the 21³ setsof XYZ coordinate values, respectively. In both of the firstillustrative embodiment and the above described example, the preparingunit 42 specifies the 17³ sets of RGB coordinate values such thatdistances between two adjacent sets of RGB coordinate values are equalas possible. The preparing unit 42 generates the low-quality ICC profile32 in which the 17³ sets of RGB coordinate values are associated withthe 17³ sets of XYZ coordinate values so as to prepare the low-qualityICC profile 32.

FIG. 2C schematically shows the 17³ sets of RGB coordinate values (thatis, 17 ³ lattice points (grids)) included in the low-quality ICC profile32. The number of sets of RGB coordinate values and XYZ coordinatevalues (each of which is 17³) included in the low-quality ICC profile 32is less than the number of sets of RGB coordinate values and XYZcoordinate values (each of which is 21³) included in the high-qualityICC profile 30. Therefore, the data size of the low-quality ICC profile32 is smaller than the data size of the high-quality ICC profile 30.Further, the number of sets of RGB coordinate values and XYZ coordinatevalues (each of which is 17³) included in the low-quality ICC profile 32is greater than the number of sets of RGB coordinate values and XYZcoordinate values (each of which is 21) included in the monochrome ICCprofile 34. Therefore, the data size of the low-quality ICC profile 32is larger than the data size of the monochrome ICC profile 34. Afterstep S50 ends, the ICC-profile preparing process ends.

As described above, in the first illustrative embodiment, the preparingunit 42 generates the ICC profiles 32 and 34 from the high-quality ICCprofile 30 so as to prepare the ICC profiles 32 and 34. Since it is notrequired to store the ICC profiles 32 and 34 in the ROM in advance, itis possible to reduce an amount of data in the ROM 24. In a modifiedexample, not only the high-quality ICC profile 30 but also the ICCprofiles 32 and 34 may be stored in the ROM in advance. In this case,the preparing unit 42 can read the ICC profiles 32 and 34 stored in theROM 24 to the RAM 26 so as to prepare the ICC profiles 32 and 34. Inthis modified example, since the preparing unit 42 need not generate theICC profiles 32 and 34, the preparing unit 42 can quickly prepare theICC profiles 32 and 34.

If the ICC-profile preparing process ends, the scanning process proceedsto step S28 of FIG. 3. In step S28, the outputting unit 44 (see FIG. 1)outputs one data file 6 (see FIG. 1) including the JPEG data generatedin step S24 and one ICC profile prepared in the ICC-profile preparingprocess of step S26, to the outside. Specifically, the outputting unit44 writes the one data file in the USB memory 8. After step S28, thescanning process ends.

It is noted that, since the JPEG data and the prepared ICC profile areincluded in the same data file 6, the process of step S28 is alsoreferred to as a process of outputting the JPEG data and the preparedICC profile to the outside while associating with each other. Theassociating can be performed in various forms. In a first modifiedexample, the outputting unit 44 performs the associating by outputtingone folder including a file of the JPEG data, and the prepared ICCprofile different from the file of the JPEG data. In a second modifiedexample, the outputting unit 44 performs the associating by includinginformation on the prepared ICC profile (for example, a file name of theprepared ICC profile) in the file of the JPEG data. In a third modifiedexample, the outputting unit 44 performs the associating by outputtingthe file of the JPEG data, the prepared ICC profile different from thefile of the JPEG data, and information for liking the file of the JPEGdata with the prepared ICC profile.

(Process of External Device)

The user can carry the USB memory 8 including the data file 6. The usercan install the USB memory 8 in the USB interface of the PC 80 (that is,an external device) and read the data file 6 in the USB memory 8 to thePC 80. In this case, a control unit (not shown) of the PC 80decompresses the compressed JPEG image data included in the JPEG data inthe data file 6. Next, the control unit of the PC 80 coverts thedecompressed JPEG image data (RGB bitmap data) into XYZ image data byusing the ICC profile (any one of the high-quality ICC profile, thelow-quality ICC profile, and the ICC profile for monochrome) in the datafile 6. Specifically, the control unit of the PC 80 converts each pixelrepresented by RGB coordinate values included in the JPEG image datainto each pixel represented by XYZ coordinate values so as to generatethe XYZ image data.

The control unit of the PC 80 further converts the XYZ image data intooutput image data represented by device-dependent colors depending onthe characteristics of the PC 80 (particularly, the colorcharacteristics of a monitor of the PC 80). An output-side ICC profilefor performing this conversion is generally stored in the PC 80 inadvance. For example, the output-side conversion profile is an ICCprofile in which a plurality of sets of coordinate values in the XYZcolor space are associated with a plurality of sets of coordinate valuesin a color space (for example, the RGB color space) corresponding to amonitor of the PC 80. The control unit of the PC 80 provides the outputimage data to the monitor. Therefore, an output image represented by theoutput image data is displayed on the monitor of the PC 80.

(Effects According to First Illustrative Embodiment)

The communication system 2 according to the first illustrativeembodiment has been described in detail. If using the high-quality ICCprofile 30, the PC 80 can convert the JPEG image data into the XYZ imagedata. Therefore, whatever features the generated JPEG image data has, aconfiguration in which the multifunction device 10 outputs thehigh-quality ICC profile 30 can be conceived of. However, as describedabove, for example, in order to convert the JPEG image data representingthe monochrome image into the XYZ image data, if using an ICC profileincluding only RGB coordinate values where the RGB values are the samevalue, it is possible to perform color conversion from RGB to XYZ.

In consideration of the actual circumstances, if JPEG image datarepresenting a color image is generated (the case of No in step S40 ofFIG. 4), the multifunction device 10 according to the first illustrativeembodiment prepares the high-quality ICC profile 30 or the low-qualityICC profile 32 having a relatively large data size (step S48 or S50 ofFIG. 4), and if JPEG image data representing a monochrome image isgenerated (the case of Yes in step S40 of FIG. 4), the multifunctiondevice 10 according to the first illustrative embodiment prepares themonochrome ICC profile 34 having a relatively small data size (step S42of FIG. 4). If the JPEG image data representing the monochrome image isgenerated, it is possible to suppress the ICC profile 30 having anexcessive quality from being output.

If the user instructs to generate JPEG image data having a relativelyhigh resolution, or if the user instructs to generate JPEG image datacompressed with a relatively low compression rate, the user is likely todesire to obtain an output image having image color(s), represented bythe JPEG image data, faithfully reproduced. Meanwhile, if the userinstructs to generate JPEG image data having a relatively lowresolution, or if the user instructs to generate JPEG image datacompressed with a relatively high compression rate, a request of theuser on the reproducibility of colors is not expected to be high.

In consideration of the actual circumferences, if JPEG image data havinga relatively high resolution is generated (a case of Yes in step S44 ofFIG. 4), the multifunction device 10 according to the first illustrativeembodiment prepares the high-quality ICC profile 30 having a relativelylarge data size (step S48 of FIG. 4), and if JPEG image data having arelatively low resolution is generated (a case of No in step S44 of FIG.4), the multifunction device 10 prepares the low-quality ICC profile 32having a relatively small data size (step S50 of FIG. 4). Further, ifJPEG image data compressed with a relatively low compression rate isgenerated (a case of Yes in step S46 of FIG. 4), the multifunctiondevice 10 prepares the high-quality ICC profile 30 having the relativelylarge data size (step S48 of FIG. 4), and if JPEG image data compressedwith a relatively high compression rate is generated (a case of No instep S46 of FIG. 4), the multifunction device 10 prepares thelow-quality ICC profile 32 having the relatively small data size (stepS50 of FIG. 4). If JPEG image data having a relatively low resolution isgenerated, or if JPEG image data compressed with a relatively highcompression rate is generated, it is possible to suppress the ICCprofile 30 having an excessive quality from being output.

As described above, the multifunction device 10 according to the firstillustrative embodiment can output an ICC profile having an appropriatequality (that is, an appropriate data size) according to features ofgenerated JPEG image data. That is, it is possible to suppress the ICCprofile 30 having an excessive quality from being output. As a result,it is possible to reduce the data size of the data file 6 and reduce aload of a resource (such as a load of the storage capacity of thememory, a process load of the control unit, or the like) of the PC 80for displaying the output image by using the data file 6.

In the above, the ICC profiles 30, 32, and 34 are examples of aplurality of color-conversion profiles. The high-quality ICC profile 30and the low-quality ICC profile 32 (or the monochrome ICC profile 34)are examples of a first first-type color-conversion profile and a secondfirst-type color-conversion profile, respectively. 21³ and 17³ (or 21)are examples of the numbers M and N, respectively. Further, thehigh-quality ICC profile 30 (or the low-quality ICC profile 32) and themonochrome ICC profile 34 are examples of a first color-conversionprofile and a second color-conversion profile, respectively.Furthermore, the high-quality ICC profile 30 and the low-quality ICCprofile 32 are examples of a third color-conversion profile (or a fifthcolor-conversion profile) and a fourth color-conversion profile (or asixth color-conversion profile), respectively. Moreover, the RGB colorspace and the XYZ color space are examples of a first color space and asecond color space, respectively.

(Second Illustrative Embodiment)

Differences between a second illustrative embodiment and the firstillustrative embodiment will be described. Each of the ICC profiles 30,32, and 34 used in the first illustrative embodiment is a so-calledgrid-type color-conversion profile in which RGB coordinate values areassociated with XYZ coordinate values. However, the second illustrativeembodiment uses a monochrome ICC profile 36 (which is a so-calledfunction-type color-conversion profile) shown in FIG. 2D, instead of themonochrome ICC profile 34 of the first illustrative embodiment. Themonochrome ICC profile 36 includes functions for converting RGBcoordinate values into XYZ coordinate values. In the functions, γgray,a1, a2, and a3 are predetermined constant values. If substituting anyone value (for example, an R value) of RGB coordinate values into Grayin the functions, XYZ coordinate values are obtained. As describedabove, in each pixel constituting JPEG image data representing amonochrome image, the RGB coordinate values are the same value.Therefore, even when any value of the RGB coordinate values of eachpixel constituting the JPEG image data is substituted into the Gray inthe functions, the identical XYZ coordinate values are obtained.Further, the data size of the monochrome ICC profile 36 is smaller thanthe data sizes of other ICC profiles 30 and 32.

The monochrome ICC profile 36 is stored in the ROM 24 in advance. In theprocess of step S42 of FIG. 4, the preparing unit 42 reads themonochrome ICC profile 36 stored in the ROM 24 to the RAM 26 so as toprepare the monochrome ICC profile 36 (that is, entire of thefunctions). The other processes are the same as those in the firstillustrative embodiment. In the second illustrative embodiment, themonochrome ICC profile 36 is an example of a second-typecolor-conversion profile. Further, RGB coordinate values are examples ofvalues corresponding to coordinate values in a first color space.

First Modified Example

Each of the ICC profiles 30 to 36 of the first and second illustrativeembodiments may be a profile for converting RGB image data into imagedata (that is, L*a*b* image data) in which a value of each pixel isrepresented by coordinate values in an L*a*b* color space. In general,each of the plurality of color-conversion profiles may be a profile forconverting image data in which a value of each pixel is represented bycoordinate values in a first color space (which is the RGB color spacein the first and second illustrative embodiments) into intermediateimage data in which a value of each pixel is represented by coordinatevalues in a second color space (which is the XYZ color space in thefirst and second illustrative embodiments and is the L*a*b* color spacein the first modified example). Further, the second color space may bethe same color space as the first color space or may be a color spacedifferent from the first color space.

Second Modified Example

Similarly to the first and second illustrative embodiments, the firstcolor space may be a color space (the RGB color space in the first andsecond illustrative embodiments) for representing device-dependentcolors depending on the characteristics of the scanner device, or may bea standard color space (for example, an sRGB color space). Hereinafter,in a case where the first color space is the sRGB color space, acolor-conversion profile is referred to as an sRGB color-conversionprofile. Similarly to the first and second illustrative embodiments, inthe second modified example, the generating unit 40 may generateRGB-formatted JPEG image data depending on the characteristics of themultifunction device 10, and the outputting unit 44 may output JPEG dataincluding the RGB-formatted JPEG image data and an sRGB color-conversionprofile to the outside. Alternatively, the generating unit 40 maygenerate sRGB-formatted JPEG image data from RGB-formatted JPEG imagedata depending on the characteristics of the multifunction device 10,and the JPEG data including the sRGB-formatted JPEG image data and ansRGB color-conversion profile may be output to the outside.

Moreover, for example, all of the plurality of color-conversion profilesmay be sRGB color-conversion profiles, or only part of the plurality ofcolor-conversion profiles may be sRGB color-conversion profiles. In thelatter case, for example, an sRGB color-conversion profile may used as acolor-conversion profile having a larger data size (for example, an sRGBcolor-conversion profile may be prepared in step S48 of FIG. 4), and acolor-conversion profile (for example, a color-conversion profile fromRGB to XYZ) of a color space other than the sRGB color space may be usedas a color-conversion profile having a smaller data size (for example, acolor-conversion profile from RGB to XYZ may be prepared in step S42 orS50 of FIG. 4). Alternatively, a color-conversion profile (for example,a color-conversion profile from RGB to XYZ) of a color space other thanthe sRGB color space may used as a color-conversion profile having alarger data size (for example, a color-conversion profile from RGB toXYZ may be prepared in step S48 of FIG. 4), and an sRGB color-conversionprofile may be used as a color-conversion profile having a smaller datasize (for example, an sRGB color-conversion profile may be prepared instep S42 or S50 of FIG. 4).

Third Modified Example

Similarly to the monochrome ICC profile 36 of the second illustrativeembodiment, each of the ICC profiles 30 to 34 may be a profile includingconstant values used in function for converting coordinate values in thefirst color space into coordinate values in the second color space.

Fourth Modified Example

In the first and second illustrative embodiments, the outputting unit 44writes the data file 6 in the USB memory 8 so as to output the data file6 to the outside. However, in the fourth modified example, theoutputting unit 44 of the multifunction device 10 may transmit the datafile 6 to the PC (that is, an external device) 80, may transmit the datafile 6 to another multifunction device 90, or may write the data file 6in a recoding medium 5 such as a CD, a DVD, or the like installed in themultifunction device 10. In all examples, a configuration for performingoutput to the outside is included.

Fifth Modified Example

In the second illustrative embodiment, the monochrome ICC profile 36 ofthe second illustrative embodiment may include the entire functions ormay include only constant values to be used in the functions withoutincluding the entire functions. In general, the second-typecolor-conversion profile may include at least the constant values usedin the functions for converting values corresponding to coordinatevalues in the first color space into coordinate values in the secondcolor space.

Sixth Modified Example

The high-quality ICC profile 30 may not be stored in the ROM 24 inadvance. For example, when performing the process of step S50 of FIG. 4,the preparing unit 42 may acquire the high-quality ICC profile 30 froman external device (for example, a server provided by the vendor of themultifunction device 10) so as to prepare the high-quality ICC profile30. Similarly, when performing the processes of step S42 and S50 of FIG.4, the preparing unit 42 may acquire the ICC profiles 32 to 36 from anexternal device so as to prepare the ICC profiles 32 to 36.

Seventh Modified Example

Each pixel constituting JPEG image data representing a monochrome imagemay not be represented by RGB values (that is, a set of coordinatevalues (three values)) but may be represented by one value regardingbrightness obtained from the RGB values. In this case, the ICC profiles34 and 36 for monochrome may be profiles for converting values regardingthe brightness into coordinate values in the XYZ color space. Forexample, the monochrome ICC profile 34 of the first illustrativeembodiment may be a profile in which 21 values regarding the brightnessobtained from the 21 sets of RGB coordinate values are associated with21 sets of XYZ coordinate values. In a seventh modified example, the 21values regarding the brightness are examples of N values correspondingto N coordinate values in the first color space. Further, the monochromeICC profile 36 of the second illustrative embodiment may includeconstant values used in functions for converting values regarding thebrightness into coordinate values in the XYZ color space. In the seventhmodified example, the values regarding the brightness are examples ofthe values corresponding to the coordinate values in the first colorspace. In general, the values (or N values) corresponding to thecoordinate values (N coordinate values) in the first color space may becoordinate values in the first color space, like the first and secondillustrative embodiments, or may be values (for example, valuesregarding the brightness) obtained from the coordinate values in thefirst color space, like the seventh modified example.

Eighth Modified Example

In the first and second illustrative embodiments, in step S16 of FIG. 3,the determining unit 46 analyzes the scan data. However, the determiningunit 46 may analyze the JPEG data (data such as a JPEG header, a JPEGfooter, JPEG image data, or the like) to determine whether the imagerepresented by the JPEG data is a color image or a monochrome image. Ingeneral, the determining unit 46 may analyze image data obtained whenoriginal image data is generated, so as to determine the features of theoriginal image data. Further, in the first and second illustrativeembodiments, in step S16 of FIG. 3, the determining unit 46 determines afeature representing whether the image represented by the scan data is acolor image or a monochrome image by analyzing the scan data. However,the determining unit 46 may determine other features. For example, thedetermining unit 46 may determine the resolution and/or the data size(compression rate) by analyzing the image data obtained when theoriginal image data is generated.

Ninth Modified Example

In the first and second illustrative embodiments, the generating unit 40generates original image data having a JPEG format. However, thegenerating unit 40 may generate original image data having a format (forexample, a TIFF format or a BMP format) other than the JPEG format.

Specific illustrative embodiments and modified examples have beendescribed in detail above; however, these examples are merelyillustrative, and do not restrict the scope of the claims. Any ofvarious modifications and changes of the specific examples illustratedabove are included in the scope of the claims.

Moreover, the technical elements described in the present specificationand drawings exhibit technical utility either alone or in any of variouscombinations, and there is no limitation to the combinations describedin the claims at the time of filing. Moreover, the art illustrated inthe present specification and drawings attains a plurality of objectssimultaneously, but there is technical utility in attaining one of theseobjects.

What is claimed is:
 1. A scanner device comprising: a controllerconfigured to: generate original image data representing a scannedoriginal; prepare one color-conversion profile among a plurality ofcolor-conversion profiles having different data sizes, according to afeature of the original image data; and output the original image dataand the one color-conversion profile to an outside, wherein theplurality of color-conversion profiles includes; a first-typecolor-conversion profile in which a plurality of sets of coordinatevalues in a first color space are associated with a plurality of sets ofcoordinate values in a second color space, and a second-typecolor-conversion profile including a constant value used in a functionfor converting values corresponding to coordinate values in the firstcolor space into coordinate values in the second color space, andwherein a data size of the first-type color-conversion profile is largerthan that of the second-type color-conversion profile.
 2. The scannerdevice according to claim 1, wherein the controller is furtherconfigured to: determine the feature of the original image data based ongeneration condition for generating the original image data, thegeneration condition being determined by an instruction from a user, andprepare the one color-conversion profile according to a result of thedetermination.
 3. The scanner device according to claim 1, wherein thecontroller is further configured to: determine the feature of theoriginal image data by analyzing image data obtained when the originalimage data is generated, and prepare the one color-conversion profileaccording to a result of the determination.
 4. The scanner deviceaccording to claim 1, wherein if the original image data represents acolor image, the controller is configured to prepare a firstcolor-conversion profile among the plurality of color-conversionprofiles, wherein if the original image data represents a monochromeimage, the controller is configured to prepare a second color-conversionprofile among the plurality of color-conversion profiles, and wherein adata size of the first color-conversion profile is larger than that ofthe second color-conversion profile.
 5. The scanner device according toclaim 1, wherein if a resolution of the original image data is a firstresolution, the controller is configured to prepare a thirdcolor-conversion profile among the plurality of color-conversionprofiles, wherein if the resolution of the original image data is asecond resolution lower than the first resolution, the controller isconfigured to prepare a fourth color-conversion profile among theplurality of color-conversion profiles, and wherein a data size of thethird color-conversion profile is larger than that of the fourthcolor-conversion profile.
 6. The scanner device according to claim 1,wherein if a resolution of the original image data is a certainresolution and a data size of the original image data is a first datasize, the controller is configured to prepare a fifth color-conversionprofile among the plurality of color-conversion profiles, wherein if theresolution of the original image data is the certain resolution and thedata size of the original image data is a second data size smaller thanthe first data size, the controller is configured to prepare a sixthcolor-conversion profile among the plurality of color-conversionprofiles, and wherein a data size of the fifth color-conversion profileis larger than that of the sixth color-conversion profile.
 7. A scannerdevice comprising: a controller configured to: generate original imagedata representing a scanned original; prepare one color-conversionprofile among a plurality of color-conversion profiles having differentdata sizes, according to a feature of the original image data; andoutput the original image data and the one color-conversion profile toan outside, wherein the plurality of color-conversion profiles includes:a first first-type color-conversion profile in which M sets ofcoordinate values in a first color space are associated with M sets ofcoordinate values in a second color space, M being an integer which istwo or more, and a second first-type color-conversion profile in which Nvalues corresponding to N sets of coordinate values in the first colorspace are associated with N sets of coordinate values in the secondcolor space, N being an integer smaller than M, and wherein a data sizeof the first first-type color-conversion profile is larger than that ofthe second first-type color-conversion profile.
 8. The scanner deviceaccording to claim 7, further comprising: a memory that stores the firstfirst-type color-conversion profile, wherein if the original image datahas a first feature, the controller is configured to read the firstfirst-type color-conversion profile from the memory so as to prepare thefirst first-type color-conversion profile, and wherein if the originalimage data has a second feature, the controller is configured to readthe first first-type color-conversion profile from the memory andgenerate the second first-type color-conversion profile by using thefirst first-type color-conversion profile so as to prepare the secondfirst-type color-conversion profile.
 9. The scanner device according toclaim 7, wherein the controller is further configured to: determine thefeature of the original image data based on generation condition forgenerating the original image data, the generation condition beingdetermined by an instruction from a user, and prepare the onecolor-conversion profile according to a result of the determination. 10.The scanner device according to claim 7, wherein the controller isfurther configured to: determine the feature of the original image databy analyzing image data obtained when the original image data isgenerated, and prepare the one color-conversion profile according to aresult of the determination.
 11. The scanner device according to claim7, wherein if the original image data represents a color image, thecontroller is configured to prepare a first color-conversion profileamong the plurality of color-conversion profiles, wherein if theoriginal image data represents a monochrome image, the controller isconfigured to prepare a second color-conversion profile among theplurality of color-conversion profiles, and wherein a data size of thefirst color-conversion profile is larger than that of the secondcolor-conversion profile.
 12. The scanner device according to claim 7,wherein if a resolution of the original image data is a firstresolution, the controller is configured to prepare a thirdcolor-conversion profile among the plurality of color-conversionprofiles, wherein if the resolution of the original image data is asecond resolution lower than the first resolution, the controller isconfigured to prepare a fourth color-conversion profile among theplurality of color-conversion profiles, and wherein a data size of thethird color-conversion profile is larger than that of the fourthcolor-conversion profile.
 13. The scanner device according to claim 7,wherein if a resolution of the original image data is a certainresolution and a data size of the original image data is a first datasize, the controller is configured to prepare a fifth color-conversionprofile among the plurality of color-conversion profiles, wherein if theresolution of the original image data is the certain resolution and thedata size of the original image data is a second data size smaller thanthe first data size, the controller is configured to prepare a sixthcolor-conversion profile among the plurality of color-conversionprofiles, and wherein a data size of the fifth color-conversion profileis larger than that of the sixth color-conversion profile.
 14. A scannerdevice comprising: a controller configured to: generate original imagedata representing a scanned original; prepare one color-conversionprofile among a plurality of color-conversion profiles having differentdata sizes, according to a feature of the original image data; andoutput the original image data and the one color-conversion profile toan outside, wherein if a resolution of the original image data is acertain resolution and a data size of the original image data is a firstdata size, the controller is configured to prepare a fifthcolor-conversion profile among the plurality of color-conversionprofiles, wherein if the resolution of the original image data is thecertain resolution and the data size of the original image data is asecond data size smaller than the first data size, the controller isconfigured to prepare a sixth color-conversion profile among theplurality of color-conversion profiles, and wherein a data size of thefifth color-conversion profile is larger than that of the sixthcolor-conversion profile.
 15. The scanner device according to claim 14,wherein the plurality of color-conversion profiles includes: afirst-type color-conversion profile in which a plurality of sets ofcoordinate values in a first color space are associated with a pluralityof sets of coordinate values in a second color space, and a second-typecolor-conversion profile including a constant value used in a functionfor converting values corresponding to coordinate values in the firstcolor space into coordinate values in the second color space, andwherein a data size of the first-type color-conversion profile is largerthan that of the second-type color-conversion profile.
 16. The scannerdevice according to claim 14, wherein the plurality of color-conversionprofiles includes: a first first-type color-conversion profile in whichM sets of coordinate values in a first color space are associated with Msets of coordinate values in a second color space, M being an integerwhich is two or more, and a second first-type color-conversion profilein which N values corresponding to N sets of coordinate values in thefirst color space are associated with N sets of coordinate values in thesecond color space, N being an integer smaller than M, and wherein adata size of the first first-type color-conversion profile is largerthan that of the second first-type color-conversion profile.
 17. Thescanner device according to claim 16, further comprising: a memory thatstores the first first-type color-conversion profile, wherein if theoriginal image data has a first feature, the controller is configured toread the first first-type color-conversion profile from the memory so asto prepare the first first-type color-conversion profile, and wherein ifthe original image data has a second feature, the controller isconfigured to read the first first-type color-conversion profile fromthe memory and generates the second first-type color-conversion profileby using the first first-type color-conversion profile so as to preparethe second first-type color-conversion profile.
 18. The scanner deviceaccording to claim 14, wherein the controller is further configured to:determine the feature of the original image data based on generationcondition for generating the original image data, the generationcondition being determined by an instruction from a user, and preparethe one color-conversion profile according to a result of determination.19. The scanner device according to claim 14, wherein the controller isfurther configured to: determine the feature of the original image databy analyzing image data obtained when the original image data isgenerated, and prepare the one color-conversion profile according to aresult of the determination.
 20. The scanner device according to claim14, wherein the original image data represents a scanned color original.21. A method executed in a scanner device comprising: generatingoriginal image data representing a scanned original; preparing onecolor-conversion profile among a plurality of color-conversion profileshaving different data sizes, according to a feature of the originalimage data; and outputting the original image data and the onecolor-conversion profile to an outside, wherein the plurality ofcolor-conversion profiles includes: a first-type color-conversionprofile in which a plurality of sets of coordinate values in a firstcolor space are associated with a plurality of sets of coordinate valuesin a second color space, and a second-type color-conversion profileincluding a constant value used in a function for converting valuescorresponding to coordinate values in the first color space intocoordinate values in the second color space, and wherein a data size ofthe first-type color-conversion profile is larger than that of thesecond-type color-conversion profile.
 22. A method executed in a scannerdevice comprising: generating original image data representing a scannedoriginal; preparing one color-conversion profile among a plurality ofcolor-conversion profiles having different data sizes, according to afeature of the original image data; and outputting the original imagedata and the one color-conversion profile to an outside, wherein theplurality of color-conversion profiles includes: a first first-typecolor-conversion profile in which M sets of coordinate values in a firstcolor space are associated with M sets of coordinate values in a secondcolor space, M being an integer which is two or more, and a secondfirst-type color-conversion profile in which N values corresponding to Nsets of coordinate values in the first color space are associated with Nsets of coordinate values in the second color space, N being an integersmaller than M, and wherein a data size of the first first-typecolor-conversion profile is larger than that of the second first-typecolor-conversion profile.
 23. The method according to claim 22, whereina memory stores the first first-type color-conversion profile, whereinif the original image data has a first feature, the step of preparingthe one color-conversion profile among the plurality of color-conversionprofiles having different data sizes further comprises reading the firstfirst-type color-conversion profile from the memory so as to prepare thefirst first-type color-conversion profile, and wherein if the originalimage data has a second feature, the step of preparing the onecolor-conversion profile among the plurality of color-conversionprofiles having different data sizes further comprises reading the firstfirst-type color-conversion profile from the memory and generating thesecond first-type color-conversion profile by using the first first-typecolor-conversion profile so as to prepare the second first-typecolor-conversion profile.
 24. A method executed in a scanner devicecomprising: generating original image data representing a scannedoriginal; preparing one color-conversion profile among a plurality ofcolor-conversion profiles having different data sizes, according to afeature of the original image data; and outputting the original imagedata and the one color-conversion profile to an outside, wherein if aresolution of the original image data is a certain resolution and a datasize of the original image data is a first data size, the step ofpreparing the one color-conversion profile among the plurality ofcolor-conversion profiles having different data sizes further comprisespreparing a fifth color-conversion profile among the plurality ofcolor-conversion profiles, wherein if the resolution of the originalimage data is the certain resolution and the data size of the originalimage data is a second data size smaller than the first data size, thestep of preparing the one color-conversion profile among the pluralityof color-conversion profiles having different data sizes furthercomprises preparing a sixth color-conversion profile among the pluralityof color-conversion profiles, and wherein a data size of the fifthcolor-conversion profile is larger than that of the sixthcolor-conversion profile.
 25. The method according to claim 24, whereinthe original image data represents a scanned color original.